Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

239
Views
El comodín (*) no funciona. Al buscar en una carpeta un documento con un tipo de archivo variable, la función "*" parece no funcionar

Tengo problemas con el comodín * . Quiero buscar un documento en una carpeta y devolver su ubicación. El problema es que el documento puede ser .xlsx o .pdf ; por lo tanto, quería agregar "*" al nombre para que encontrara cualquiera.

Tengo esto:

 Sub Test2() Dim FSO As New FileSystemObject Dim myFolder As Scripting.Folder Dim mySubFolder As Scripting.Folder Dim myFile As File Set myFolder = FSO.GetFolder("Folder Path") Set Team3 = ThisWorkbook.Worksheets("Team 3 & 3a") Rng = Team3.Range("B4:B9") For Each batch In Rng Filename = batch & "*" For Each mySubFolder In myFolder.SubFolders For Each myFile In mySubFolder.Files If myFile.Name = Filename Then MsgBox myFile.Path Exit For End If Next Next Next End Sub

El problema que tengo es que el comodín * no parece funcionar y parece interpretarlo como texto. Si reemplazo el "*" con ".pdf" , de hecho encuentra los archivos, pero lo necesitaba para buscar cualquier tipo de archivo.

Eliminé la ruta de la carpeta de arriba, pero de hecho está buscando en la carpeta correcta. El código en sí funciona, es solo el "*" que no parece funcionar.

Cualquier ayuda sería muy apreciada.

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Gracias, FunThomas por ayudar con esto. No estoy seguro de cómo funciona este sitio, pero la siguiente fue la respuesta que dio.

 Sub Test2() Dim FSO As New FileSystemObject Dim myFolder As Scripting.Folder Dim mySubFolder As Scripting.Folder Dim myFile As File Set myFolder = FSO.GetFolder("Folder Path") Set Team3 = ThisWorkbook.Worksheets("Team 3 & 3a") Rng = Team3.Range("B4:B9") For Each batch In Rng Filename = batch & "*" For Each mySubFolder In myFolder.SubFolders For Each myFile In mySubFolder.Files If myFile.Name Like Filename Then MsgBox myFile.Path Exit For End If Next Next Next End Sub
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!